﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Util.ExtensionMethods;
using PersistLayer.DAL;
using PersistLayer.Model;
using System.Data;

namespace LojaVirtual.Site.Pages.Site
{
    public partial class NovoUsuario : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            CarregaTexto();
        }

        private void CarregaTexto()
        {
            lblCadastre.Text = Resources.Geral.CadastreUmaConta;
            lblEmail.Text = Resources.Geral.Email;
            lblNome.Text = Resources.Geral.Nome;
            lblLogin.Text = Resources.Geral.LoginUsuario;
            lblSenha.Text = Resources.Geral.Senha;
            lblConfirme.Text = Resources.Geral.ConfirmeSenha;
            btnConta.Text = Resources.Geral.CriarSuaConta;
        }

        protected void btnConta_Click(object sender, EventArgs e)
        {
            try
            {

                if (txtEmail.Text.Equals(string.Empty))
                    throw new ApplicationException("O campo EMAIL é obrigatório!");

                if (txtNome.Text.Equals(string.Empty))
                    throw new ApplicationException("O campo NOME é obrigatório!");

                if (txtLogin.Text.Equals(string.Empty))
                    throw new ApplicationException("O campo LOGIN é obrigatório!");

                if (txtSenha.Text.Equals(string.Empty))
                    throw new ApplicationException("O campo SENHA é obrigatório!");

                if (!Util.Validacoes.ValidaEmail(txtEmail.Text))
                    throw new ApplicationException("Digite um endereço de E-MAIL válido!");

                Usuario usu = new Usuario();

                usu.Nome = txtNome.Text;
                usu.Email = txtEmail.Text;
                usu.Login = txtLogin.Text;
                usu.LogadoFace = false;

                if (txtSenha.Text == txtConfirmeSenha.Text)
                    usu.Senha = Util.Criptografia.EncryptMd5(txtSenha.Text);
                else
                    throw new ApplicationException("Confirme a SENHA novamente!");

                usu.ID = new UsuarioDAL().Adicionar(usu);
                Response.Redirect("UsuarioAdicionado.aspx?" + Geral.Constantes.OUTROS.USUARIO_ID + "=" + Util.Criptografia.Encriptar(Geral.Constantes.CRIPTO.CHAVE, Geral.Constantes.CRIPTO.VETOR, usu.ID.ToString()));


            }
            catch (Exception ex)
            {
                ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "teste", "alert('" + ex.Message + "');", true);
            }
        }
    }
}